package com.developmentReformProject.service;

/***********************************************************************
 * name: 企业服务类
 * Module:  EnterpriseService.java
 * Author:  胡志鹏
 * Purpose: Defines the Interface EnterpriseService
 ***********************************************************************/

import com.developmentReformProject.dto.AdminQueryDto;
import com.developmentReformProject.dto.EnterpriseDto;
import com.developmentReformProject.dto.EnterpriseQueryDto;
import com.developmentReformProject.dto.ProjectQueryDto;
import com.developmentReformProject.entity.Admin;
import com.developmentReformProject.entity.Apply;
import com.developmentReformProject.entity.Enterprise;
import com.developmentReformProject.utils.PageUtil;


public interface EnterpriseService {
    /**
     * 企业注册
     * @param enterprise
     * @return
     */
    String registerEnterprise(Enterprise enterprise);

    /**
     * 修改企业密码
     * @param
     * @return
     */
    int updatePasswordEnterprise(String accountNumber,String newPassword,String oldPassword);

    /**
     * 修改企业信息
     * @param enterprise
     * @return
     */
    String updateEnterprise(Enterprise enterprise);

    /**
     * 企业登录
     * @param enterpriseAccountNumber
     * @param enterprisePassword
     * @return
     */
    String loginEnterprise(String enterpriseAccountNumber, String enterprisePassword);

    /**
     * 企业注销
     * @param enterpriseDto
     * @return
     */
    String logoutEnterprise(EnterpriseDto enterpriseDto);

    /**
     * 项目申请
     * @param apply
     * @return
     */
    String projectApplication(Apply apply);

    /**
     * 查看项目审核进度
     * @param
     * @return
     */
    String viewProjectAuditProgress(Integer enterpriseId);

    /**
     * 查看自己的项目
     * @param
     * @return
     */
    ProjectQueryDto viewProject(Integer enterpriseId);

    /**
     * 动态查询
     * @param enterpriseQueryDto
     * @return
     * @throws Exception
     */
    PageUtil<Enterprise> pageList(EnterpriseQueryDto enterpriseQueryDto) throws Exception;
    PageUtil<Enterprise> cleanEnterprise(EnterpriseQueryDto enterpriseQueryDto) throws Exception;

}
